home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
090
/
hawk_s.arc
/
HAWKS.RAM
Wrap
Text File
|
1986-12-31
|
54KB
|
948 lines
HAWK'S RAM -- SEPTEMBER, 1986
BY JOHN HAWKINS
PC ACCOUNTING SOFTWARE
MAYBE BECAUSE STARTING OR CONVERTING TO A NEW ACCOUNTING SYSTEM IS
BEST DONE AT THE ROLL-OVER BETWEEN ACCOUNTING YEARS, AND BECAUSE IF YOU
WANT TO MAKE A CHANGE JANUARY 1ST YOU'D BETTER START NOW -- MAYBE THAT'S
WHY I'VE RECENTLY BEEN INUNDATED WITH QUESTIONS ABOUT SUITABLE ACCOUNTING
SOFTWARE AND SYSTEMS. IF YOU TAKE THE RIGHT APPROACH, I THINK YOU CAN MAKE
A SELECTION THAT IS "SAFE" WITHOUT HAVING TO COMPARE SPECIFICATIONS OF THE
THOUSANDS OF PROGRAMS THAT ALL CLAIM TO DO THE SAME THINGS.
AT THE TOP OF MY "DANGER" LIST IS RIGID STRUCTURE. VERY FEW
BUSINESSES START LIFE WITH A COMPUTERIZED ACCOUNTING SYSTEM. THE TYPICAL
SITUATION INVOLVES AN ON-GOING BUSINESS THAT WANTS TO TRANSFER A
FUNCTIONING MANUAL SYSTEM TO A PC, WHILE RETAINING AS MUCH OF THE OLD,
COMFORTABLE, TRIED-AND-TRUE PROCEDURES AS POSSIBLE. THAT ONLY MAKES SENSE,
BECAUSE THE GOAL IS TO AUTOMATE WHAT YOU ARE DOING, NOT THROW IT ALL AWAY
AND START OVER. BUT VERY FEW ACCOUNTING PACKAGES ALLOW ENOUGH FLEXIBILITY
AND PERSONALIZATION. EVEN FEWER ALLOW MODIFICATIONS DOWN THE LINE AS THE
BUSINESS GROWS AND EVOLVES.
ONE WAY TO ACHIEVE FLEXIBILITY AND VERSATILITY IS TO BUILD IT INTO THE
SOFTWARE IN A WAY THAT THE USER CAN EASILY CONTROL. IN THE FEW PACKAGES
THAT GIVE THE USER A GREAT DEAL OF CONTROL THERE IS AN UNAVOIDABLE PENALTY
IN COMPLEX INSTALLATION, LARGE PROGRAM SIZE (AND DISK SPACE REQUIREMENTS),
AND OFTEN EXCESSIVE OVERHEAD DURING OPERATION. EVEN PROGRAMS THAT ARE
REASONABLY FLEXIBLE (AND HIGHLY RATED), LIKE SOLOMON III, ARE MONSTERS TO
INSTALL AND USE. IN FACT, YOU AREN'T SUPPOSED TO BUY SOLOMON III EXCEPT
FROM AN AUTHORIZED CONSULTANT WHO HAS HAD TRAINING, AND WHO WILL TRAIN YOU.
THAT MAY SOUND REASONABLE BUT YOU SHOULD ALSO ADD "EXPENSIVE."
ANOTHER WAY TO MAINTAIN PROPER MANAGERIAL CONTROL IS TO USE SOFTWARE
THAT INCLUDES SOURCE CODE. BEFORE THE IBM PC I USED A PROGRAM WRITTEN IN
MICROSOFT BASIC ON A TRS-80 MODEL II. WE KNEW IT WAS RISKY TO USE SUCH A
SYSTEM TO MANAGE A MAJOR BUSINESS, BUT OUR ONLY ALTERNATIVE WAS A $60,000
MINI-COMPUTER SYSTEM. FORTUNATELY, HAVING THE SOURCE CODE MADE IT POSSIBLE
TO MODIFY THE PROGRAM TO CREATE A CUSTOMIZED ACCOUNTING SYSTEM THAT MET THE
NEEDS OF THE BUSINESS, INTERFACED WITH OTHER PROGRAMS ALSO WRITTEN IN
BASIC, AND SATISFIED THE REPORTING REQUIREMENTS OF EVERYONE CONCERNED.
OF COURSE, A COMPLEX INTERPRETED BASIC PROGRAM RUNNING ON A 64K Z80
COMPUTER WAS NO SPEED DEMON, BUT IT WORKED, AND PAID FOR ITSELF IN TWO
MONTHS!
THE FIRST ACCOUNTING PACKAGES FOR THE IBM PC CAME FROM TWO SOURCES.
SOME WERE ESSENTIALLY THE SAME TYPE OF PROGRAM I USED, WRITTEN IN
INTERPRETED MBASIC OR CBASIC, PORTED OVER AND MODIFIED TO CONFORM TO THE
SYNTAX OF BASICA ON THE PC. IF YOU HAVE ONE OF THOSE, AND KNOW YOUR WAY
AROUND BASIC, TREASURE IT!
THE OTHER SOURCE OF PC SOFTWARE WAS (AND IS) MINICOMPUTER CODE,
USUALLY COBOL, PORTED TO A PC AND COMPILED USING MICROSOFT OR
RYAN-MCFARLAND COMPILERS. IT IS THESE PROGRAMS THAT I FIND MOST
UNAPPEALING. THEY USUALLY DON'T FEEL LIKE MODERN PC SOFTWARE, BECAUSE THEY
AREN'T.
NOW THAT PC LANGUAGE COMPILERS ARE PLENTIFUL AND CAPABLE, FEW PACKAGES
SURVIVE IN THEIR SOURCE CODE/INTERPRETED FORM. MOST CONTEMPORARY
ACCOUNTING SOFTWARE HAS BEEN WRITTEN AND COMPILED IN BASIC, PASCAL, TURBO
PASCAL, DBASE, KNOWLEDGEMAN, MDBS, AND OTHERS (RARELY IN C). ALL OF THE
COMPILED PACKAGES OFFER IMPROVED SPEED.
THE ISSUE OF SPEED CAN BE MISLEADING. MANY COBOL PACKAGES ARE FAST AT
UPDATING THE SCREEN, BUT INCREDIBLY SLOW AT DISK ACTIVITIES, EVEN WITH A
FAST DISK DRIVE. PROGRAMS IN BASIC OR PASCAL OFTEN STUMBLE AT DATA FILE
MANIPULATION ALSO. MOST PACKAGES WRITTEN IN A DATABASE MANAGER LANGUAGE
HAVE SUPERIOR DATA CONTROL, BUT STILL RUN SLUGGISHLY DUE TO THEIR RELIANCE
ON RUNTIME INTERPRETATION (A NOTABLE EXCEPTION IS CLIPPER, A SUPERIOR
DBASE-LIKE DATABASE MANAGER).
REGARDLESS OF THE HIGH-LEVEL LANGUAGE USED TO CREATE THE ACCOUNTING
PACKAGE, THEY ALL HAVE A LAYOUT AND STRUCTURE DETERMINED BY THEIR CREATORS,
AND LOCKED IN BY THE COMPILING PROCESS. YOUR SPECIFIC WANTS MAY BE SIMPLE:
ALLOWING ONLY 6 DIGIT ACCOUNT NUMBERS WITH THREE LETTERS AND THREE NUMBERS;
OR INCLUDING A ROUTINE TO AUTOMATICALLY GENERATE A UNIQUE ID NUMBER FROM A
CLIENT NAME; OR ADDING A FIELD TO KEY YOUR CUSTOMERS' INDUSTRY; OR
ACCESSING YOUR DATA FROM OTHER PROGRAMS, COMMERCIAL OR HOME-GROWN; ETC. IF
CERTAIN INFORMATION, FEATURES AND FUNCTIONS ARE VALUABLE TO YOU, AN
ACCOUNTING SYSTEM THAT IS TOO RIGID WILL ARBITRARILY LIMIT YOUR ABILITY TO
MANAGE YOUR BUSINESS. HAVE YOU EVER CALLED A NATIONAL SOFTWARE COMPANY TO
ASK IF THEY COULD INCLUDE AN EXTRA FEATURES -- JUST FOR YOU?
AFTER SEVERAL YEARS BALANCING TRADEOFFS AND BATTLING THE FORCES OF
BUREAUCRACY, I RECOMMEND BEGINNING WITH ACCOUNTING SOFTWARE SOURCE CODE.
MODIFY IT AS NEEDED FOR A SPECIFIC BUSINESS PURPOSE, THEN COMPILE IT. THE
INVESTMENT IS PROTECTED, SINCE AS BUSINESS NEEDS EVOLVE THE PROGRAM CAN BE
REVISED AT ANY TIME RATHER THAN DISCARDED. CONTROL IS ABSOLUTE; WITH NO
MORE LONG DISTANCE CALLS TO PEOPLE WHO DON'T CARE AND WON'T HELP. AND BY
COMPILING, THE ACCOUNTING SYSTEM RUNS QUICKLY AND SMOOTHLY.
IN THE CONTEXT OF PC ACCOUNTING, "POWER" MEANS CAPABILITIES. SOME
ACCOUNTING PACKAGES DO OFFER AN INCREDIBLE RANGE OF REPORTS AND ANALYSIS
RIGHT OUT OF THE BOX. IF YOU LIKE THOSE REPORTS, YOU'LL WANT THAT PACKAGE.
IF YOU LIKE LOTS OF REPORTS, YOU'LL FAVOR MORE "POWERFUL" PACKAGES. BUT
ACCOUNTING IS BASICALLY DATA COLLECTION AND ORGANIZATION. THERE IS NOTHING
IN THE MOST POWERFUL OF ACCOUNTING PACKAGES THAT CAN'T BE IMPLEMENTED WITH
ANY REASONABLY WELL-DESIGNED ACCOUNTING PACKAGE -- IF YOU HAVE CONTROL OVER
THE SOURCE CODE! HAVE SPECIALIZED DATA YOU WISH TO TRACK? ADD A FIELD.
NEED AN UNUSUAL COMPARISON. ADD A REPORT. WANT TO PULL OUT AND GRAPH
CERTAIN INFORMATION. DO IT.
WHERE DO YOU GET SOURCE CODE? I DON'T RECOMMEND CREATING IT FROM
SCRATCH; NOT FOR AN ACCOUNTING SYSTEM. YOU CAN STILL BUY BOOKS OF
ACCOUNTING SOURCE CODE IN BASIC AND DBASE, AND OFTEN YOU CAN ORDER A DISK
TO SAVE THE TYPING. THAT'S NOT NECESSARILY A BAD WAY TO GO, SINCE MUCH
PRINTED CODE IS A VARIATION ON THE SAME CODE THAT UNDERLIES MANY OF THE
COMMERCIAL PACKAGES. YOU CAN ALSO FIND SOURCE CODE ACCOUNTING PACKAGES ON
MANY BULLETIN BOARD SYSTEMS. AND YOU CAN BUY THEM FROM COMPANIES AND
CONSULTANTS WHO OFFER DOCUMENTATION, UPGRADES AND ON-GOING SUPPORT.
IT MAY BE THAT YOU CAN JUST BOOT UP THE SOURCE CODE AND GO, WITH NO
MODIFICATIONS NECESSARY. THAT'S GREAT, AND YOU ARE PROTECTED FOR THE
FUTURE. WHEN NEEDS CHANGE, THE SOFTWARE CAN KEEP UP WITH YOU. DON'T
OVERLOOK THIS APPROACH BECAUSE YOU ARE NOT A PROGRAMMER; YOU CAN ALWAYS
BORROW ONE. WHETHER YOU NEED MODIFICATIONS, CUSTOM REPORTS, OR JUST
SOMEONE TO COMPILE YOUR SOURCE CODE FOR SPEED, USING A FREE-LANCE
PROGRAMMER/CONSULTANT/FRIEND IS STILL A MUCH SOUNDER INVESTMENT THAN HOPING
THAT A RIGID PACKAGE WILL NOT BECOME OBSOLETE TOMORROW.
I'M NOT ARGUING FOR SPECIFIC PACKAGES (ALTHOUGH I LIKE WHAT I USE);
IT'S THE PREMISE THAT COUNTS. JUST KEEP YOUR EYES PEELED FOR A PACKAGE
THAT INCLUDES SOURCE CODE DESIGNED FOR MODIFICATION AND COMPILATION,
IDEALLY WRITTEN IN A COMMON, EASY TO WORK WITH LANGUAGE SUCH AS DBASE III,
MICROSOFT BASIC, OR TURBO PASCAL (STAY AWAY FROM DBASE II CODE UNLESS YOU
NEED CP/M COMPATIBILITY).
I KNOW THIS VIEW IS NOT THE NORM. HUNDREDS OF ACCOUNTING PACKAGES ARE
ADVERTISED. AND FEW OFFER SOURCE CODE. BUT THE OVERWHELMING NUMBER OF
SIMILAR VENDORS DEMONSTRATES MY POINT. ACCOUNTING SOFTWARE IS NOT
ESPECIALLY MYSTERIOUS. MUCH OF IT IS DESCENDED FROM THE OSBORNE CBASIC
CODE WIDELY PUBLISHED IN THE 1970S. IF SO MANY PEOPLE CAN MARKET SUCH
SOFTWARE, YOU CAN CERTAINLY MANAGE YOUR OWN.
I'VE LIKENED ACCOUNTING SOFTWARE TO AN AUTOMOBILE, AND PRICING IS
ANOTHER SIMILARITY. IF A HYUNDAI GETS YOU FROM A TO B FOR $5,000, WHAT
DOES A FERRARI ADD FOR $70,000? YOU CAN BUY ACCOUNTING SOFTWARE FOR $1,000
A MODULE (YOU'LL TYPICALLY NEED 3 OR 4 MODULES), OR FOR $50 TOTAL. BOTH
ENDS OF THE SPECTRUM CLAIM TO DO THE SAME THING. IN REALITY, PRICE IS NOT
MUCH OF A CLUE TO ANYTHING. A LOT OF GARBAGE PROGRAMS HAVE FLASHY
PACKAGING AND HEFTY PRICE TAGS. LUCKILY YOU'LL BE ABLE TO FIND REPUTABLE
SOURCE CODE SOFTWARE IN THE MIDDLE PRICE RANGE.
ONE LAST OPINION. I REGULARLY ENCOUNTER PC OWNERS WHO STILL DO (OR
HAVE DONE) ACCOUNTING BY HAND (PERHAPS USING A ONE-WRITE SYSTEM). THERE MAY
BE REASONS TO DO OTHERWISE, BUT KEEPING BOOKS IS ONE OF THE MOST VALUABLE
THINGS YOU CAN DO WITH A PC. THAT'S BECAUSE A GOOD SYSTEM GENERATES
EXTREMELY VALUABLE MANAGEMENT REPORTS THAT ARE IMPRACTICAL TO CRANK OUT
MANUALLY. DO IT YOURSELF, USE AN OUTSIDE SERVICE, A FREE-LANCER, OR YOUR
ACCOUNTANT; YOU WILL CERTAINLY BENEFIT FROM THE VIEW OF YOUR BUSINESS THAT
COMPUTERIZED ACCOUNTING GIVES YOU.
COPYRIGHT (C) 1986 JOHN L. HAWKINS, HAWKINS/BANFIELD COMMUNICATIONS,
P.O.BOX 6476, SAN RAFAEL, CA 94903. 415/525-6624, 415/492-8757.
NON-COMMERCIAL PUBLICATION ENCOURAGED, COMMERCIAL RIGHTS RESERVED.
HAWK'S RAM -- SEPTEMBER, 1986
BY JOHN HAWKINS
LIST
IF YOU DON'T USE THIS EXCELLENT SHARE-WARE UTILITY, WHAT DO YOU USE?
LIST IS THE CREATION OF VERNON BUERG OF DALY CITY, AND GIVES US WHAT DOS'S
TYPE COMMAND DOESN'T: DECENT CONTROL OVER THE VIEWING OF THE CONTENTS OF A
DISK FILE. YOU CAN MOVE BACK AND FORTH WITHIN THE FILE, SEARCH FOR
SPECIFIC CONTENTS, PRINT SOME OR ALL OF THE FILE, AND USE SEVERAL OTHER
FUNCTIONS TO MAKE YOUR LIFE EASIER. THE MOST RECENT VERSION OF LIST.COM (OR
LIST.ARC) I KNOW OF IS 6.0H.
DATABASE MANAGERS
WHAT FOLLOWS IS SOME TECHNICAL TALK ON SEVERAL DBASE-RELATED PRODUCTS.
EVEN IF YOU ARE NOT A PROGRAMMER, OR HAVE NO DIRECT INTEREST IN THE
SUBJECT, GIVE IT A SCAN AND FILE IT AWAY. A HUGE NUMBER OF BUSINESS
APPLICATIONS ARE BEING BUILT WITH THESE PRODUCTS, SO THERE'S A GOOD CHANCE
ONE OF THEM WILL FIND ITS WAY ONTO YOUR COMPUTER SOONER OR LATER. BY BEING
FAMILIAR WITH THE PROS AND CONS OF THE POPULAR DATABASE MANAGERS YOU CAN
MAKE A MORE-INFORMED SELECTION OF OFF-THE-SHELF PACKAGES OR SPECIFICATION
OF CUSTOM APPLICATIONS.
FOXBASE+
ONE OF THE BEST CLONES OF DBASE II WAS FOXBASE, A PSEUDO-COMPILER THAT
GAVE SOURCE CODE SECURITY AND IMPROVED SPEED TO PROGRAMS WRITTEN IN DBASE
II. NOW, AFTER AN INCREDIBLY LONG DELAY, COMES FOXBASE+, A DBASE III PLUS
VERSION THAT CAN ALSO READ DBASE II FILES.
IN THEIR ADVERTISING, FOXBASE+ CLAIMS TO BE 6.43 TIMES FASTER THAN
DBASE III PLUS, 2.26 TIMES FASTER THAN CLIPPER, AND 6.69 TIMES FASTER THAN
DBCOMPILER III. BUT SPEED IS IN THE MIND OF THE BEHOLDER; IT ALL DEPENDS
WHAT YOU CHOOSE TO MEASURE.
TO MAKE THESE CLAIMS, FOX SOFTWARE DEVISED A SERIES OF STANDARDIZED
DBASE ROUTINES, THEN RAN THEM WITH EACH PRODUCT. I'VE STUDIED THE
BENCHMARK TESTS, AND IT'S TRUE, FOXBASE WAS FASTER. IT IS ALSO TRUE THAT
THE CHOSEN ROUTINES WERE A LIMITED SUBSET OF THE UNIVERSE OF POSSIBLE DBASE
PROGRAM ACTIVITIES.
BEWARE OF THE FOX GUARDING THE HENHOUSE; THE FOXBASE TESTS IGNORE
SEVERAL OF THE MOST COMMON PROGRAM ROUTINES. WHERE ARE BENCHMARK TESTS ON
RANDOM RECORD LOCATING PROCEDURES? WHAT ABOUT THE PROCESSING OF CONDITIONAL
EVALUATIONS AND BRANCHING? HOW ABOUT NESTED MACROS? LET'S NOT FORGET
COMPLEX COLOR-CHANGING SCREEN DISPLAY ROUTINES. AND SINCE FOXBASE USES
DOZENS OF SMALL PROGRAM FILES RATHER THAN ONE OR TWO LARGE FILES LIKE
CLIPPER, ITS SPEED IN LOADING AND RUNNING THOSE FILES MUST ALSO BE
EVALUATED.
FOXBASE CLAIMS INCREDIBLY SHORT COMPILE TIMES, TOO, BUT WHAT THEY CALL
"COMPILING" IS ACTUALLY TOKENIZING, A MUCH SIMPLER PROCESS. FINALLY, THEY
BRAG ABOUT TOTAL COMPATIBILITY WITH DBASE III PLUS, YET FOXBASE USES
NON-COMPATIBLE INDEX FILES!
FOXBASE IS EXPENSIVE, SINCE YOU NEED THE BASIC PRODUCT ($395 SINGLE
USER, $995 MULTI-USER), PLUS RUNTIME COPIES FOR EACH APPLICATION TO BE RUN
SEPARATELY FROM THE MAIN SYSTEM (AT $30 EACH SINGLE-USER, $100 EACH
MULTI-USER, SOLD ONLY IN SETS OF 10). CLIPPER IS CHEAPER TO BUY, AND
NOTHING ADDITIONAL NEED BE PURCHASED, EVER (ALTHOUGH THERE ARE MANY WORTHY
ADD-ON PRODUCTS). ON THE OTHER HAND, CLIPPER IS A SOPHISTICATED PRODUCT
THAT IS ONLY SUITABLE FOR PROFESSIONALS AND HARD-CORE DBASERS.
IF FOXBASE CAN COMPILE ALMOST ALL DBASE APPLICATIONS WITHOUT PROBLEM,
AND IT DOES SPEED THEM UP, THEN THE PRODUCT HAS VALUE AND PERHAPS IS WORTH
THE MONEY. ASHTON-TATE CAN CERTAINLY USE PRESSURE FROM PRODUCTS SUCH AS
THIS TO KEEP THEM ON THE STRAIGHT AND NARROW. IT'S UNFORTUNATE THAT FOX
SOFTWARE FEELS THE NEED TO PROMOTE THEMSELVES WITH CLAIMS THAT ARE
TRANSPARENTLY QUESTIONABLE.
QUICKSILVER
MEANWHILE, WORDTECH IN ORINDA IS STILL IN THE RACE. UNTIL NOW, THEIR
DBCOMPILER HAS BEEN THE MOST COMPATIBLE DBASE PSEUDO-COMPILER, BUT ALSO THE
SLOWEST. THEY'VE NOW ANNOUNCED QUICKSILVER, A $595 TRUE COMPILER IN THE
CLIPPER TRADITION, BUT APPARENTLY QUICKSILVER USES STANDARD DBASE INDEX
FILES, WHICH CLIPPER DOES NOT.
IT WILL BE A WHILE BEFORE QUICKSILVER CAN BE EVALUATED ON ITS MERITS,
BUT THE HUGE NUMBER OF NEW PRODUCTS THAT TARGET DBASE IS AN INDICATION OF
THE PERCEIVED MARKET. NEW DBASE COMPATIBLE PRODUCTS INCLUDE FOXBASE+,
VP-INFO, ALPHA THREE, VP-PLANNER, AND EVEN THE NEW RELEASES OF LOTUS 1-2-3
AND SYMPHONY. MEANWHILE, ASHTON-TATE IS DOING A FAIRLY LOUSY JOB OF
SUPPORTING THE STANDARD THEY CREATED.
WORD PERFECT
VERSION 4.2 IS DUE IN NOVEMBER, WITH A $35 UPGRADE FOR 4.1 OWNERS.
WE'VE BEEN HOPING FOR FIXES FOR THE MORE INFURIATING WORDPERFECT
SHORTCOMINGS (SOME DUMB KEYS AND AWKWARD PROCEDURES), BUT THIS RELEASE IS
PROBABLY GOING TO BE LESS OF AN ADVANCEMENT THAN THE JUMP FROM 4.0 TO 4.1.
A GOOD NEW BOOK IS "ADVANCED WORDPERFECT FEATURES AND TECHNIQUES" BY
ALDERMAN AND MAGID. BY "ADVANCED" THEY MEAN MACROS, MATH, MAIL MERGE,
TABLE OF CONTENTS, INDEXES, ETC. THE BOOK ALSO INCLUDES A GOOD OVERVIEW OF
THE MORE BASIC FUNCTIONS. UNFORTUNATELY, THIS BOOK OMITS THE TRULY
ADVANCED INFORMATION THAT I GET ASKED ABOUT MOST. JUST ABOUT EVERYTHING
DESCRIBED IS ALREADY INCLUDED IN THE PROGRAM'S MANUAL, ALTHOUGH NOT AS
CLEARLY. IF YOU LIKE A SECOND SOURCE THIS BOOK IS RECOMMENDED.
AVOID THE WORDPERFECT BOOK PUBLISHED BY QUE. LIKE THEIR "DBASE III
ADVANCED PROGRAMMING", THEIR WORDPERFECT BOOK IS A COLLECTION OF OBSOLETE
INFORMATION IN A FLASHY COVER.
RECORD LIBRARY MANAGER
NOT COMPUTER RECORDS, PHONOGRAPH RECORDS (AND TAPES AND COMPACT
DISKS). ORIGINALLY DEVELOPED FOR RADIO STATIONS, THIS SOFTWARE PRODUCT
WILL CATALOG YOUR RECORD LIBRARY BY TITLE, ARTIST AND RECORDING, USING A
SOPHISTICATED SYSTEM OF RELATED DATA FILES. YOU MAY HAVE 300 RECORDINGS OF
"STARDUST," BUT RLM IS SMART ENOUGH TO ONLY STORE THE TITLE ONCE, THEN
MATCH IT UP WITH EACH ALBUM OR TAPE THAT HAS IT. SIMILARLY, STORING THE
ARTIST'S NAME WITH EACH RECORDING WOULD BE INEFFICIENT, SO RLM KEEPS THEM
SEPARATE. YOU ONLY NEED TO TYPE "BILL HALEY AND HIS COMETS" ONCE. IF YOU
HAVE A SIZEABLE RECORD COLLECTION (OR RUN A RADIO STATION), CHECK IT OUT.
COPYRIGHT (C) 1986 JOHN L. HAWKINS, HAWKINS/BANFIELD COMMUNICATIONS,
P.O.BOX 6476, SAN RAFAEL, CA 94903. 415/525-6624, 415/492-8757.
NON-COMMERCIAL PUBLICATION ENCOURAGED, COMMERCIAL RIGHTS RESERVED.
HAWK'S RAM -- SEPTEMBER, 1986
BY JOHN HAWKINS
DBASE III PLUS
IF YOU'RE A REGISTERED OWNER YOU'VE RECEIVED THE OFFER TO UPGRADE TO A
NON-COPY PROTECTED VERSION FOR $45. IN CASE YOU'RE AMONG THE MANY WHO HAVE
ALREADY USED A UTILITY OR PATCH TO REMOVE COPY PROTECTION FROM VERSION 1.0,
NOTE THAT THEY'VE NAMED THE UPGRADE "VERSION 1.1." WITH THAT MONIKER, YOU
MAY BE ENTICYK9TO TO BUYING IT FOR NEW FEATURES.
BE ADVISED THAT EVERY SOURCE I'VE BEEN ABLE TO TAP CLAIMS THAT VERSION
1.1 HAS NO NEW FEATURES, AND IS ACTUALLY JUST THE RECENTLY RELEASED BUG FIX
RENAMED. INTERNALLY THE ORIGINAL DBASE III PLUS WAS CALLED "X77", THE BUG
FIX WAS "X95", AND VERSION 1.1 IS CALLED "X100". REVISIONS X95 AND X100 USE
THE SAME OVERLAY FILE, SO VERY LITTLE COULD HAVE BEEN CHANGED. THE BUG FIX
WAS FREE TO THOSE WHO COMPLAINED LOUDLY ENOUGH ABOUT CERTAIN SERIOUS
PROBLEMS, SO THE CHANCE TO BUY IT FOR $45 IS A DARN NICE OPPORTUNITY, I'D
SAY.
DBASE IS A FUNNY ANIMAL. IT'S HARD TO LEARN AND YET, ONCE LEARNED,
EASY AND POWERFUL TO USE. YOU DON'T NEED TO WRITE PROGRAMS, BUT SOME OF THE
NICEST FEATURES ARE ONLY AVAILABLE IF YOU DO SO. I RECOMMEND MAKING DBASE
THE FOUNDATION OF MOST BUSINESS APPLICATIONS, YET I DON'T RECOMMEND TRYING
TO WRITE COMPLEX APPLICATIONS UNLESS YOU ARE AN EXPERIENCED PROGRAMMER OR
YOU CAN LIVE WITH THE DATA DESTRUCTION THAT ACCOMPANIES BUG EXTERMINATION.
LASTLY, YOU'LL NOT BE HAPPY WITH THE PERFORMANCE OF A LARGE APPLICATION THAT
IS NOT COMPILED FOR SPEED, BUT COMPILING IS TRULY A TRICKY PROPOSITION (AND
COMPILERS ARE AN ADDITIONAL EXPENSE). BUT THE SAME COMPLAINTS ABOUT
DIFFICULTY AND BUGS AND EXPENSE CAN BE APPLIED TO EVERY OTHER DEVELOPMENTAL
LANGUAGE, NONE OF WHICH HAVE DBASE'S FRIENDLY SIDE. BASIC AND TURBO PASCAL
ARE BEST SUITED FOR SMALL APPLICATIONS. DBASE IS STILL THE TOOL OF CHOICE
WHEN DEVELOPING BUSINESS SYSTEMS (NOT BUSINESS SOFTWARE, BUSINESS SYSTEMS).
IT'S BEEN CLAIMED THAT MOST BUSINESSES THAT DON'T HAVE AT LEAST ONE
DBASE-RELATED APPLICATION ON THEIR PC ARE PROBABLY DOING SOMETHING WRONG.
DBASE BUGS
AN EJECT WITH NO PRINTER ON-LINE MAY LOCK THE COMPUTER AND REQUIRE A
REBOOT. THERE ARE TRICKY WAYS TO CHECK PRINTER STATUS USING EXTERNAL
UTILITIES. THE RISK OF A LOCKUP IS DATA LOSS, AS REBOOTING FROM WITHIN
DBASE IS ALWAYS DANGEROUS.
ONE OF THE MOST SERIOUS PROBLEMS WITH DBASE IS THAT YOU CAN SEEK (OR
FIND) A RECORD, USING THE PROPER KEY AND WITH THE PROPER INDEX, AND NOT FIND
SOMETHING THAT ACTUALLY EXISTS! OR FIND IT BUT BE TOLD YOU HAVEN'T FOUND
IT! IF IT IS VITAL THAT YOU FIND THE RECORD (WHY WOULD YOU BE LOOKING FOR
IT OTHERWISE?), THIS CAN BE A DEADLY BUG. DID A NEW RECORD GET CREATED TO
RECORD A PAYMENT BECAUSE THE SYSTEM DIDN'T FIND THE EXISTING RECORD, AND NOW
YOU THINK SOMEONE IS A DEADBEAT AND THREATEN TO SUE THEM? DID YOU LEAVE
SOMEONE OFF YOUR MAILING LIST, OR SEND THEM TWO OF EVERYTHING? THERE ARE
SEVERAL CIRCUMSTANCES WHERE THE QUIRKS OF SEEK/FIND CAN REALLY UN-MAKE YOUR
DAY. SOME EXAMPLES I'VE DISCOVERED.
FIND & MEMVAR CAN RETURN "NO FIND" UNDER VARIOUS CIRCUMSTANCES I
HAVEN'T FULLY EXPLORED, BUT THIS ONE IS EASY TO WORK AROUND. I CAN'T THINK
OF A SINGLE REASON TO USE FIND WITHIN A PRG FILE. LOTS OF COMMERCIAL
PROGRAMS AND BOOKS USE THIS COMMAND BECAUSE IT WAS STANDARD IN DBASE II.
CHANGE THE COMMAND TO SEEK MEMVAR. IF YOU SEE "FIND" IN A PROGRAM THAT
PURPORTS TO BE FOR DBASE III, ASK THEM WHY THEY ARE USING AN OBSOLETE
TECHNIQUE.
IF THE DATABASE IS INDEXED ON A NUMERIC FIELD AND YOU MISTAKENLY TRY TO
SEEK A CHARACTER STRING, DBASE APPARENTLY FIRST PERFORMS AN IMPLICIT VAL(),
THEN SEEK. SINCE THE VAL() OF A CHARACTER STRING THAT DOES NOT BEGIN WITH A
NUMBER IF ALWAYS ZERO, YOU'LL ACTUALLY FIND THE FIRST RECORD WITH A ZERO
VALUE IN THE KEY FIELD. OR MAYBE YOU'LL FIND THE FIRST RECORD WITH A
NUMERIC VALUE THAT MATCHES WHATEVER NUMBER HAPPENED TO BE AT THE HEAD OF THE
CHARACTER STRING. I THINK DBASE SHOULD RECOGNIZE THE DATA TYPE MISMATCH AND
ISSUE AN ERROR, RATHER THAN ASSUME A VALUE AND CHARGE AHEAD.
HERE'S A REAL PAIN I WASTED A LOT OF TIME WITH. IF YOU HAVE SET
DELETED ON AND TRY TO FIND OR SEEK A KEY WITH MULTIPLE OCCURRENCES, AND THE
FIRST SUCH OCCURRENCE IS DELETED, YOU'LL NEVER FIND THE OTHERS IF YOU FOLLOW
THE DOCUMENTED PROCEDURE. IN THIS SITUATION THE DELETED RECORD WILL BE
FOUND, BUT THE FOUND() FUNCTION WILL RETURN .F., SO YOU'LL ASSUME NOTHING
WAS FOUND. WHAT IT SHOULD DO IS SKIP ALONG PAST DELETED RECORDS UNTIL IT
FINDS THE FIRST MATCHING ACTIVE RECORD. A WORKAROUND IS TO TEST FOR EOF(),
WHICH WILL RETURN .F. IF YOU HAVE ACTUALLY FOUND A RECORD THAT FOUND() IS
TELLING YOU WASN'T FOUND. THAT WILL TELL YOU IF IT IS ACTUALLY FOUND, BUT
GETTING TO THE FIRST MATCHING ACTIVE RECORD REQUIRES TESTING FOR THE
CONDITION (FOUND() = F. .AND. EOF() = .F.), THEN EXECUTING VERY MESSY BIT OF
EXTRA CODE.
I HAVE OF INDEXES GETTING DAMAGED WHEN THE LENGTH OF THE KEY FIELD AND
THE PATH TO THE NDX FILE GET TOO LARGE. I HAVE ALSO HEARD THAT IT CAN BE
HAZARDOUS TO INDEX WHILE TALK IS SET OFF. CHECK WITH ASHTON-TATE ON THESE.
THIS ONE IS SUPPOSEDLY FIXED IN VERSION 1.1, BUT I STILL GET THE SAME
ANOMALOUS RESULTS. A DATABASE INDEXED ON A DATA FIELD PUTS BLANK DATES AT
THE BOTTOM OF THE FILE, EVEN THOUGH BLANK CHARACTER AND NUMERIC FIELDS ARE
PUT AT THE TOP. SO DBASE SEEMS TO VIEW BLANK DATES AS BEING "MORE RECENT"
THAN ANY OTHER DATE IN AN INDEX, RIGHT? WRONG! IT DOES NOT DO SO WHEN
MAKING COMPARISONS. A BLANK DATE FIELD IS NOT GREATER THAN, LESS THAN, NOR
EQUAL TO ANYTHING. IT IS NOTHING. THE ONLY VALID WAY TO COMPARE DATES
WHERE ONE OF THEM MIGHT BE BLANK IS BY COMPARING THE DTOC() VERSIONS OF
EACH. BUT IF ONE OF THEM IS NOT BLANK, DTOC() CAN'T ACCURATELY COMPARE FOR
GREATER THAN/LESS THAN. SO YOU HAVE TO DO CONSTRUCT A CONDITIONAL SEQUENCE
OF COMPARISONS TO COVER THE VARIOUS POSSIBILITIES. I SPENT THREE MONTHS ON
THAT ONE.
IF YOU SET FILTER TO <SOMETHING> THAT DOESN'T EXIST, THEN GO BOTTOM,
YOU'LL GET STUCK. I ROUTINELY INCLUDE SUCH A MANEUVER IN MY DATABASE
SCANNING ROUTINES. BUT THEN NEITHER SKIP NOR SKIP -1 WILL MOVE YOU. I'VE
PROBABLY SPENT 100 HOURS TEARING APART PROGRAMS, LOOKING FOR MY MISTAKE THAT
WOULD GET THE SYSTEM STUCK. THE BEST CLUE IS THAT THE RECORD NUMBER WILL
APPARENTLY BE ONE GREATER THAN THE DATABASE SIZE. TO GET FREE, IT TAKES MORE
THAN JUST DEACTIVATING THE FILTER. AS NEAR AS I CAN FIGURE, ONLY GO TOP
WILL GET YOU UNSTUCK. THE PROBLEM IS, HOW CAN YOU KNOW WHETHER SUCH A
SITUATION IS POSSIBLE AT SOME POINT IN THE FUTURE, SINCE IT DEPENDS UPON THE
DATA ENTERED?
THE ONLY SAFE PROCEDURE IS TO ALWAYS ISSUE A GO TOP AFTER A GO BOTTOM
WHEN A FILTER IS ACTIVATED. ALONG THE SAME LINES, I'VE FOUND IT SAFER TO
ALWAYS ISSUE A GO TOP AFTER SET FILTER TO <SOMETHING), OTHERWISE THE FIRST
RECORD CAN FALL THROUGH THE FILTER. ANYTIME A FILTER IS SET (OR CHANGED) A
GO TOP IS ADVISABLE. IF YOU WANT TO STAY WHERE YOU ARE IN THE DATABASE,
STORE THE RECORD NUMBER, GO TOP, THEN GO RECORD NUMBER. IF THERE IS A
CLEANER, TOTALLY RELIABLE WAY TO HANDLE THIS, I DON'T KNOW WHAT IT IS.
AS SOON AS I CONVERTED TO DBASE III PLUS THIS ONE STOPPED ME DEAD IN MY
TRACKS. IF YOU ISSUE A READ WITH NO PENDING GET, DBASE WILL STOP. THIS
SITUATION COULD HAVE EXISTED IN PREVIOUS VERSIONS WITHOUT SHOWING UP AS A
PROBLEM. YOU CAN HIT ANY KEY TO CONTINUE, BUT THE USER NOT SEE A GET FIELD
AND WILL HAVE NO HINT OF HOW TO PROCEED PAST THIS UNEXPECTED PAUSE.
THE READKEY() FUNCTION, WHICH WAS QUITE VALUABLE IN DBASE III 1.2, DOES
NOT FUNCTION CORRECTLY IN DBASE III PLUS. JUST FORGET IT.
SET ORDER TO IS A GREAT IDEA THAT ONLY HALFWAY WORKS. SET ORDER TO 0
IS SUPPOSED TO TURN OFF INDEX CONTROL BUT MAINTAIN INDEX INTEGRITY. IT
DOESN'T, SO DON'T MAKE ANY CHANGES TO KEY FIELDS IN THIS SITUATION, OR
REINDEX AFTER RETURNING TO INDEX CONTROL.
SET PRINTER TO IS ONE OF THE SERIOUS BUGS THAT LED TO THE RECENT FREE
1.0 UPDATE, NOW BEING SOLD AS THE NEW "VERSION 1.1". IT'S A COMPLICATED
ISSUE INVOLVING POTENTIALLY HUGE PROBLEMS WITH SERIAL PRINTERS. LET'S HOPE
IT'S BEEN FIXED.
INDEX WITH THE UNIQUE FEATURE IS UNRELIABLE AND CAN BE FATAL (TO YOUR
INDEX, NOT YOU). JUST PUT A BIG "X" THROUGH THIS PAGE IN YOUR
DOCUMENTATION, AND GRUMBLE ABOUT ANOTHER GREAT IDEA SCREWED UP.
WHEN PACKING OR ZAPPING A DATABASE, DO IT WITH ALL INDEXES ACTIVE, OR
ALWAYS REINDEX AFTERWARD. OTHERWISE YOU'LL END UP WITH CORRUPTED INDEXES
AND HAVE TO REINDEX ANYWAY.
IF I'VE SCARED YOU AWAY FROM USING PROGRAMS DEVELOPED UNDER DBASE III
PLUS, CONSIDER THAT THE ALTERNATIVES HAVE THEIR OWN PROBLEMS. BASICALLY,
DBASE WORKS GREAT. THE MANY PROBLEMS WITH NEWER FEATURES IMPLIES THAT
ASHTON-TATE CONTINUES TO PASS ON THE BETA TESTING PROCESS TO US. OH WELL,
THERE MAY BE NO SUCH THING AS BUG-FREE SOFTWARE. WHEN PROBLEMS DO OCCUR,
FEW OTHER WIDELY USED PROGRAMS OFFER THE ABILITY TO RECOVER THAT DBASE DOES.
COPYRIGHT (C) 1986 JOHN L. HAWKINS, HAWKINS/BANFIELD COMMUNICATIONS, P.O.BOX
6476, SAN RAFAEL, CA 94903. 415/525-6624, 415/492-8757. NON-COMMERCIAL
PUBLICATION ENCOURAGED, COMMERCIAL RIGHTS RESERVED.
HAWK'S RAM -- OCTOBER, 1986
BY JOHN HAWKINS
COMTEL PROGRAMMERS TOOLS
A FRIEND RECENTLY TOLD ME OF A SUPERIOR TEXT AND PROGRAM EDITOR CALLED
INSTANT EDITOR. BECAUSE IT SOUNDED LIKE A DREAM COME TRUE, I CONTACTED THE
DEVELOPER, COMTEL. WHAT I WALKED AWAY WITH WAS AN ENTIRE SET OF THEIR
EXCITING PROGRAMMER UTILITIES: DBTOOLS, DBSCOPE, CLMAKE, AND INSTANT
EDITOR. THERE ARE A FEW ROUGH EDGES, BUT I'M ALREADY TOTALLY HOOKED.
COMTEL PRINCIPAL AND PROGRAMMER BILL HO IS EXTREMELY RESPONSIVE TO USER
INPUT (HE IMPLEMENTED TWO OF MY SUGGESTIONS WITHIN ONE WEEK). GIVEN THE
POWER OF THESE PRODUCTS, AND THE PERSONAL, SINCERE, SKILLED SUPPORT OF BILL
HO, I AM CONFIDENT THAT PURCHASING COMTEL'S PRODUCTS WILL PROVE TO BE A
VERY WISE INVESTMENT. IF YOU ARE A PROGRAMMER, ESPECIALLY IN DBASE BUT
ALSO IN PASCAL AND C, I CANNOT RECOMMEND THEM HIGHLY ENOUGH.
DBTOOLS
THIS PACKAGE OF VARIOUS DBASE PROGRAMMING TOOLS WAS DEVELOPED BY DBASE
USERS FOR DBASE USERS. IF YOU WRITE SERIOUS DBASE PROGRAMS AND TIME IS A
VALUABLE RESOURCE, YOU NEED DBTOOLS. EVERYTHING IN THE TOOLKIT IS USEFUL;
HERE ARE MY FAVORITES:
DLIST
THE FIRST STEP IN MAKING DBASE SOURCE CODE MAINTAINABLE IS TO PROPERLY
INDENT THE VARIOUS CONTROL STRUCTURES AND PROGRAM LEVELS. DLIST DOES SUCH A
SUPERB JOB OF CLEANING UP ANY SOURCE CODE THAT IT IS NOW THE FIRST THING I
REACH FOR WHEN FACED WITH MODIFYING SOMEONE ELSE'S PROGRAM. A VARIETY OF
INSTALLATION PARAMETERS AND COMMAND LINE FLAGS ALLOW ALMOST TOTAL CONTROL
OVER EVERY ASPECT OF INDENTATION, CAPITALIZATION, CONDITION DOCUMENTING AND
MORE. AFTER SEVERAL YEARS OF EXPERIMENTATION I'VE SETTLED ON A DBASE
SOURCE CODE CONVENTION OF SHOWING VARIABLE NAMES IN UPPER CASE AND KEYWORDS
IN LOWERCASE. BECAUSE DLIST PROVIDES EVERY OPTION I CAN THINK OF, IT IS
THE ONLY UTILITY OF ITS TYPE THAT HAS ALLOWED ME TO AUTOMATICALLY FORMAT
CODE MY WAY (AND SEVERAL OTHER WAYS TOO).
ALL OF THE DBTOOLS MODULES THAT DO REFORMATTING OR CROSS-REFERENCING SHARE
A KEYWORD FILE CREATED BY THE USER, SO THE PROGRAMS CAN BE KEPT CURRENT
WITH REVISIONS AND ENHANCEMENTS TO DBASE. THIS IS ESPECIALLY IMPORTANT
WITH CLIPPER, WHERE A PROGRAMMER CAN CREATE ANY NUMBER OF USER-DEFINED
FUNCTIONS WHICH THEN BECOME ADDITIONAL KEYWORDS. IN FACT, YOU MIGHT CREATE
SEPARATE KEYWORD-SPECIFIC VERSIONS OF DBTOOLS FOR DBASE AND CLIPPER.
A FEW WEEKS AGO I WOULD HAVE SAID "AMONG THE VERY FEW SHORTCOMINGS OF DLIST
ARE ITS HANDLING OF CONTINUATION LINES AND FORMATTING OF CASE STATEMENTS".
INSTEAD, I CALLED COMTEL. VERSION 1.31 OF DLIST NOW INCLUDES THE ABILITY
TO MARK WITH A *F.- / *F.+ PAIR SECTIONS OF CODE THAT YOU DO NOT WANT DLIST
TO REFORMAT. THIS IS VERY HELPFUL IF YOU LIKE TO INDENT CONTINUATION LINES
(LINES ENDING IN SEMI-COLON THAT ARE CONTINUED ON NEXT LINE) OR DO OTHER
UNUSUAL INDENTING OF SOURCE CODE FOR READABILITY. FOR EXAMPLE, MANY
PROGRAMMERS LIKE TO STACK A GET STATEMENT DIRECTLY UNDER THE SAY PORTION OF
THE SAME PROGRAM LINE. EVEN THOUGH THE NEW FORMATTING ON/OFF SYMBOLS DO
THE TRICK, I WOULD PREFER A SMART, CONTROLLABLE INDENTATION THAT HAS THE
ABILITY TO SPECIFY HOW MUCH DLIST SHOULD INDENT THE CONTINUATION FROM THE
PREVIOUS LINE, INCLUDING AN OPTION TO INDENT THE LINE AND ITS CONTINUATION
AS A BLOCK WITH NO REFORMATTING. THAT'S A SMALL COMPLAINT, CONSIDERING HOW
QUICKLY COMTEL RESPONDED TO AND SOLVED THE BASIC PROBLEM.
AN MINOR AREA OF CONTROVERSY AMONG DBASE PROGRAMMERS IS HOW TO INDENT CASE
STATEMENTS. QUICKLY RESPONDING TO MY SUGGESTION, COMTEL MODIFIED DLIST
1.31 TO PROVIDE A CHOICE. ONE OPTION IS TO DO AS MANY OTHER FORMATTING
UTILITIES DO AND PLACE ANOTHER FULL LEVEL OF INDENTATION ON CASE STATEMENTS
FOLLOWING A DO CASE. THIS MAY SEEM AESTHETICALLY DESIRABLE, BUT IT IMPLIES
A SUBORDINATE RELATIONSHIP THAT DOES NOT EXIST. THE DO CASE LINE IS NOT A
SEPARATE LEVEL OF PROCESSING, BUT MERELY AN INITIALIZING STATEMENT THAT IN
MANY LANGUAGES IS NOT NEEDED. FURTHER, EVERY LEVEL OF INDENTATION BALLOONS
THE PROGRAM SIZE. BECAUSE IT IS DESIRABLE TO LIMIT LINE WIDTH TO 79 OR 80
CHARACTERS FOR SCREEN AND PRINTER PURPOSES, UNNECESSARY INDENTATION
REQUIRES THE PROGRAMMER TO MANUALLY INSERT CONTINUATION LINES, FURTHER
WASTING TIME AND SPACE. COMTEL HAS ALREADY RESPONDED BY INCLUDING AN
OPTION TO STACK CASE STATEMENTS DIRECTLY UNDER DO CASE. AS OF THIS WRITING
THESE CHANGES HAVE NOT BEEN INCLUDED IN AN UPDATE TO INSTANT EDITOR
(DESCRIBED BELOW).
THE ONE TRUE OMISSION IN DLIST AND THE OTHER COMTEL FORMATTING UTILITIES IS
IGNORANCE OF THE CLIPPER FOR...NEXT CONSTRUCTION, WHICH SHOULD BE INDENTED
LIKE OTHER LOOPS. I CAN'T THINK OF A SITUATION WHERE DBASE CODE WOULD BE
AFFECTED.
I FOUND ONE APPARENT BUT MINOR BUG. DLIST IS SMART ENOUGH TO NOT REFORMAT
LINES BETWEEN TEXT AND ENDTEXT, BUT APPARENTLY NOT SMART ENOUGH TO IGNORE
THE CONTENTS. MESSAGE LINES BEGINNING WITH "IF", FOR EXAMPLE, CAUSED DLIST
TO ACTIVATE ITS CONTROL STRUCTURE ANALYZER, WHICH ISSUED AN IRRELEVANT
ERROR MESSAGE ABOUT NO MATCHING "ENDIF". DBASE USED TO HAVE THE SAME BUG,
WITH BIZARRE RESULTS. THIS NO LONGER SEEMS TO BE A PROBLEM TO DBASE, BUT
IT IS TO DLIST.
DCALL
GETTING THE BIG PICTURE OF HOW A PROGRAM LOOPS AND BRANCHES IS ESSENTIAL TO
UNDERSTANDING WHAT IS GOING ON. BUT ACTUAL SOURCE CODE IS MOSTLY SCREEN
AND DATA MANIPULATION AND HOUSEKEEPING ROUTINES. READING SOURCE CODE TO
GLEAN A MENTAL MAP OF THE PROGRAM'S LOGIC IS LIKE USING "GONE WITH THE
WIND" TO GET A QUICK OVERVIEW OF THE CIVIL WAR. INSTEAD, READ "GONE WITH
THE WIND" FOR THE SEX AND VIOLENCE WHILE COMTEL'S DCALL QUICKLY PRINTS A
SYSTEM FLOW CHART OF YOUR APPLICATION. BY USING A MULTITUDE OF FLAGS, A
DCALL FLOW CHART CAN HIDE OR REVEAL CALLING PARAMETERS, USAGE OF EACH AND
EVERY TYPE OF DBASE SUPPORT FILE, AND MORE. IF YOU ARE TRYING TO
UNDERSTAND SOMEONE ELSE'S CODE, THIS IS THE FIRST DBTOOL TO REACH FOR.
I DID FIND ONE PROBLEM, PROBABLY CAUSED BY A STACK ALLOCATION QUIRK IN
TURBO PASCAL, THE TOOL USED TO CREATE DBTOOLS. ABOUT HALFWAY THROUGH A
MEDIUM LARGE APPLICATION A SIGNIFICANT ERROR SLIPPED INTO THE DIAGRAM.
DCALL AUTOMATICALLY ANALYZES PROCEDURE FILES AS THEY ARE ESTABLISHED. THEN
WHEN THE PROGRAM ISSUES A DO TO A MODULE THAT IS IN THE PROCEDURE FILE,
DCALL INDICATES THE PROCEDURE FILE NAME IN THE DIAGRAM. THIS IS A RARE AND
VERY POWERFUL CAPABILITY, BUT SOMEWHERE IN DIAGRAMING MY APPLICATION THE
PROCEDURE FILE NAME GOT TRASHED. ABOUT HALFWAY THROUGH IT CHANGED THE
REFERENCE NAME OF MY PROCEDURE FILE FROM "HOEPROC1.PRG" TO ABOUT 57
CHARACTERS OF GARBAGE. BECAUSE DCALL PRINTED THIS NEW NAME CONSISTENTLY
THEREAFTER, IT SEEMS THE NAME STORAGE LOCATION IN RAM GOT OVERWRITTEN.
THIS APPARENTLY ONLY HAPPENS WHEN MORE THAN ONE PROCEDURE FILE IS USED.
COMTEL IS WORKING ON A FIX.
DVIEW
AS VALUABLE AS DCALL IS, IF YOU MAKE FREQUENT CHANGES TO THE PROGRAM,
PRINTING NEW FLOW CHARTS CAN EAT UP LOTS OF PAPER AND TIME. THAT'S WHY
COMTEL CREATED DVIEW. DVIEW DOES WHAT DCALL DOES, BUT INTERACTIVELY RIGHT
ON THE SCREEN. YOU CAN MOVE AROUND THE FILE ON THE SCREEN, USE A FILTER
PARAMETERS TO REVEAL OR HIDE VARIOUS SPECIFIED COMMAND LINES, AND QUICKLY
SEE WHAT IS GOING ON.
THIS IS A WONDERFUL TOOL, AND I HAVE ONLY THREE DESIRES. DVIEW PERFORMS
THE SAME INDENTATION OF CASE UNDER DO CASE AS DLIST, ESPECIALLY UNDESIRABLE
WHEN VIEWING THE STRUCTURE ON SCREEN. I EXPECT AN UPDATED VERSION SOON.
SECOND, DVIEW ALLOWS YOU TO TURN ON OR OFF THE AUTOMATIC VIEWING OF SET...
COMMANDS. BUT SOME SET COMMANDS, SUCH AS SET FILTER AND SET INDEX, ARE
VITAL INFORMATION IN UNDERSTANDING WHAT THE PROGRAM IS DOING. OTHERS, LIKE
SET COLOR, SET CONFIRM, AND SET BELL, ARE TRIVIAL FUNCTIONS. I'D LIKE THE
OPTION TO HAVE DVIEW SHOW THE MAJOR SET COMMANDS BUT IGNORE THE OTHERS.
FINALLY, EVEN THOUGH DVIEW TRIES TO DIAGRAM PROGRAM FLOW BY SHOWING CONTROL
STRUCTURES, IT IGNORES LOOP, EXIT AND RETURN. THESE ARE JUST AS IMPORTANT
AS THE OTHERS, AND REALLY MUST BE INCLUDED IN THE DIAGRAM. COMTEL IS
PLANNING TO ADDRESS THESE AREAS OF DVIEW VERY SOON.
DX3
IN ANY BUT THE MOST TINY PROGRAM, KEEPING TRACK OF VARIABLE USAGE IS A
MAJOR TASK. IT IS DANGEROUS TO CARELESSLY USE THE SAME VARIABLE NAME IN
MULTIPLE AREAS OF THE PROGRAM, BUT IT IS ALSO COUNTER-PRODUCTIVE TO
CONTINUE TO ESTABLISH NEW VARIABLE NAMES JUST TO BE SAFE. UNLESS YOU HAVE
AN INCREDIBLE MEMORY, A CROSS-REFERENCING UTILITY IS ESSENTIAL, AND DX3
DOES A PERFECT JOB.
A MINOR COMPLAINT IS THAT, UNLIKE OTHER DBTOOLS UTILITIES, DX3 PRINTS ALL
VARIABLE NAMES IN LOWER CASE IN ITS REPORTS. I'D PREFER THE SAME LEVEL OF
CONTROL PROVIDED BY DLIST AND DCALL.
HAWK'S RAM -- OCTOBER, 1986
PART 2
OTHER DBTOOLS
ADDITIONAL COMPONENTS OF THE DBTOOLS PACKAGE INCLUDE BU TO BACKUP FILES
USING DOS COPY; MKBAT TO AUTOMATICALLY CREATE A BATCH FILE TO PROCESS
MULTIPLE INPUT FILES (TREMENDOUSLY HELPFUL); DISPSTRU TO DISPLAY AND PRINT
THE CONTENTS OF DBASE DBF FILES; DOPT TO OPTIMIZE INTERPRETED DBASE PROGRAM
EXECUTION BY STRIPPING UNNECESSARY CODE AND SPACE FROM PRG FILES; DPRINT TO
PRINT VERY ATTRACTIVE LISTINGS OF PRG FILES; FINDPATT TO FIND ANY STRING
PATTERN IN A GROUP OF FILES (SIMILAR TO BUT NOT AS POLISHED AS NORTON'S
TEXT SEARCH); AND WS2ASCII TO CLEAN UP AND CONVERT WORDSTAR FILES TO PURE
ASCII.
DBSCOPE
THIS MEMORY-RESIDENT UTILITY, NOT PART OF THE DBTOOLS PACKAGE, IS A VERY
USEFUL ADDITION TO DBASE. DBSCOPE ALLOWS YOU TO WATCH THE PROGRAM CODE OF
YOUR DBASE APPLICATION AS IT RUNS, IN REAL-TIME, SO YOU CAN UNDERSTAND THE
AFFECTS OF EACH LINE, SPOT BUGS, AND EXPERIMENT. IT'S A GREAT LEARNING
TOOL FOR SOMEONE NEW TO DBASE, AND QUITE VALUABLE TO PROS AS WELL. YOU CAN
RUN AND VIEW THE PROGRAM IN FAST, SLOW OR SINGLE-STEP MODE, OR TURN OFF THE
LIVE-ACTION WINDOW AND COLLECT THE LAST 100 LINES FOR LATER INSTANT-REPLAY.
DBSCOPE CAN ALSO BE USED WITH CLIPPER, BUT WITH LIMITED VALUE. WHAT
DBSCOPE DOES IS INTERCEPT WHATEVER IS SENT TO THE PRINTER AND DISPLAY IT IN
AN ON-SCREEN WINDOW. (THIS IS A CLEVER TECHNIQUE THAT MAY HAVE OTHER
APPLICATIONS.) IN DBASE THE COMMANDS SET DEBUG ON AND SET ECHO ON WILL
DIRECT PROGRAM LINES TO THE PRINTER AS THE PROGRAM RUNS. DBSCOPE THEN GRABS
THEM FOR REAL-TIME DISPLAY IN A SCREEN WINDOW. DBSCOPE IS LESS USEFUL WITH
CLIPPER. THE DEBUGGER HAS A PRINTER OUTPUT FEATURE, BUT WHAT IT SENDS TO
THE PRINTER IS SO SKIMPY THAT YOU WON'T GET MUCH FROM IT. COMTEL IS
EXPLORING THE DEVELOPMENT OF A MUCH MORE CAPABLE CLIPPER VERSION OF
DBSCOPE.
CLMAKE
IF YOU DO MUCH CLIPPER COMPILING, CLMAKE (OR ANOTHER "MAKE" UTILITY) IS
ABSOLUTELY ESSENTIAL. LARGE APPLICATIONS ARE TYPICALLY MADE UP OF A SERIES
OF OBJ FILES THAT ARE LINKED. THESE OBJ FILES ARE CREATED BY COMPILING
SEVERAL RELATED PRG FILES. WHENEVER A CHANGE IS MADE IN ONE OR MORE PRG
FILES, THE CORRESPONDING OBJ FILES MUST BE RECOMPILED, THEN THE ENTIRE
APPLICATION RE-LINKED. IF YOU DON'T KNOW WHAT HAS BEEN CHANGED, YOU CAN
TAKE SOME TIME TO FIGURE OUT WHAT OBJ MODULES HAVE BEEN AFFECTED, OR PLAY
IT SAFE AND RECOMPILE EVERYTHING.
CLMAKE AUTOMATES THE PROCESS OF KEEPING TRACK OF WHAT HAS BEEN CHANGED SO
ALL NECESSARY RECOMPILING IS DONE, BUT NO MORE. CLMAKE READS CLIPPER'S CLP
FILES TO COMPARE THE DATE AND TIME OF EACH PRG FILE WITH THE OBJ THAT HOLDS
IT, THEN RECOMPILES ANY OBJ FILE THAT IS OLDER THAN ONE OF ITS PRG FILES.
SIMPLE, YET THE TIME SAVED CAN BE SIGNIFICANT. CLMAKE COMES WITH A
COMPANION UTILITY MAKEMAKE, WHICH AUTOMATES THE TASK OF CREATING THE BATCH
FILE THAT RUNS CLMAKE. MAKEMAKE GENERATES PROPER SYNTAX FOR EITHER PLINK86
OR MICROSOFT LINK. ALSO INCLUDED IS TOUCH TO INSTANTLY UPDATE A FILE'S
DATE/TIME. USE TOUCH TO FORCE A FILE TO BE RECOMPILED BY CLMAKE, OR USE IT
TO GIVE ALL FILES IN A PACKAGE IDENTICAL DATES/TIMES. THERE ARE OTHER
"MAKE" UTILITIES, BUT CLMAKE IS OPTIMIZED FOR CLIPPER. I'D CALL IT
MANDATORY FOR SERIOUS CLIPPER PROGRAMMERS.
INSTANT EDITOR
THIS IS THE PRODUCT THAT FIRST ATTRACTED ME TO COMTEL. TO WRITE AND EDIT
SOURCE CODE I HAVE BEEN USING SIDEKICK. SOME PROGRAMS INCLUDE A BUILT-IN
TEXT EDITOR OF LIMITED UTILITY. THE DBASE MODIFY COMMAND, FOR EXAMPLE, IS
95 PERCENT USELESS. CALLING UP AN EXTERNAL TEXT EDITOR LIKE WORDSTAR OR
BRIEF IS TOO SLOW, AND MOST WORD PROCESSORS JUST AREN'T SUITED TO PROGRAM
EDITING. I LIKE TO BE ABLE TO RUN THE PROGRAM, STOP AT VARIOUS POINTS, AND
JUMP BACK AND FORTH BETWEEN THE APPLICATION SCREEN AND THE SOURCE CODE IN
MY EDITOR TO MAKE CHANGES. SIDEKICK IS PERFECT FOR THIS TASK, BUT ITS BEEN
A LONG TIME SINCE BORLAND UPGRADED IT. AMONG MY MORE PRESSING DESIRES WAS
FOR SIMULTANEOUS MULTIPLE DOCUMENT VIEWING AND EDITING. I WAS SIMULATING
THIS NEED BY USING LIST.COM FROM DOS WHILE SWITCHING IN AND OUT OF
MEMORY-RESIDENT SIDEKICK; CRUDE, BUT IT WORKED.
BUT NO MORE. NOW I USE COMTEL'S WONDERFUL INSTANT EDITOR. "IE" IS AN
ALMOST EXACT CLONE OF THE NOTEPAD TEXT EDITOR PORTION OF SIDEKICK, BUT WITH
MANY VALUABLE ENHANCEMENTS. INSTANT EDITOR IS MORE VERSATILE, BECAUSE IT
CAN BE USED AS A STAND-ALONE PROGRAM OR IN MEMORY RESIDENT MODE (WHERE IT
IS EASILY REMOVABLE). SIDEKICK IS EITHER IN MEMORY OR NOWHERE, NOT ALWAYS
THE BEST OF OPTIONS.
MY FAVORITE IE FEATURE IS THE VIEWING AND EDITING OF UP TO 8 FILES IN 8
WINDOWS SIMULTANEOUSLY! TEXT CAN BE CUT AND PASTED BETWEEN WINDOWS USING
THE SAME BLOCK COMMANDS AS SIDEKICK AND WORDSTAR. I'LL NEVER PROGRAM
WITHOUT THIS CAPABILITY AGAIN!
FOR PROGRAMMERS IN DBASE, CLIPPER, C AND PASCAL, INSTANT EDITOR INCLUDES AN
INTELLIGENT SHORTHAND. FOR DBASE TYPE THE FIRST PART OF VARIOUS PAIRED
COMMANDS (LIKE DO WHILE...) AND IE WILL AUTOMATICALLY TYPE THE SECOND PART
(ENDDO). IT DOES THE SAME FOR IF...ENDIF AND DO CASE...CASE...ENDCASE.
UNFORTUNATELY, CLIPPER'S FOR...NEXT IS NOT RECOGNIZED. FOR PASCAL IE WILL
ADD END TO BEGIN, ETC. IE WILL DO THE SAME THING FOR PAIRED SYMBOLS () []
. BECAUSE IE UNDERSTANDS THE STRUCTURE OF THESE LANGUAGES, IT WILL ALSO
AUTOMATICALLY INDENT THE SAME STRUCTURES HANDLED BY THE INTELLIGENT
SHORTHAND AS YOU TYPE IT. IF YOU COPY A SECTION OF CODE TO ANOTHER
POSITION, IE WILL RE-INDENT IT TO MATCH THE NEW LOCATION. OR IT CAN
RE-INDENT THE ENTIRE SOURCE CODE FILE JUST LIKE DLIST (BUT WITHOUT THE
RECENT DLIST 1.31 FORMATTING ENHANCEMENTS). ONCE YOU HAVE MOVED TO AN
INDENTATION LEVEL, IE'S AUTO-INDENT FEATURE CAN KEEP YOU THERE
AUTOMATICALLY. WHEN MOVING AROUND YOUR TEXT FILE, GIVEN AN INDENTATION
LEVEL, IE CAN EVEN JUMP DIRECTLY TO THE OTHER END OF THAT SAME LEVEL.
GREAT STUFF!
INSTANT EDITOR ALSO FUNCTIONS AS A NORMAL (BUT LIMITED) WORD PROCESSOR WITH
PARAGRAPH REFORMATTING, WORD WRAP, AND LEFT AND RIGHT MARGINS. F1 BRINGS UP
ON-LINE HELP. IF YOU THINK YOU STILL NEED SIDEKICK, CONSIDER THAT IE ALSO
INCLUDES A POP-UP CALCULATOR FOR BINARY, DECIMAL, HEX AND PARENTHESES MATH,
A SUPERIOR POP-UP ASCII TABLE, AND A POP-UP CALENDAR. AND IF YOU STILL
THINK YOU NEED SIDEKICK, THEY ARE COMPATIBLE: YOU CAN POP-UP SIDEKICK
INSIDE INSTANT EDITOR OR POP-UP INSTANT EDITOR INSIDE SIDEKICK!
I DO HAVE ONE COMPLAINT, WHICH COMTEL IS ALREADY ADDRESSING. UNLIKE
SIDEKICK AND WORDSTAR, INSTANT EDITOR LETS YOU BEGIN WRITING WITHOUT FIRST
SPECIFYING A FILE NAME. JUST START TYPING ON A BLANK SCREEN. BUT THEN IE
OFFERS AN INCONSISTENT WAY TO SAVE WHAT YOU HAVE TYPED. YOU HAVE TO INVOKE
THE MENU SYSTEM, AND USE "SAVE TO ANOTHER NAME". HITTING F2 (OR THE
EQUIVALENT CTRL-K-S) WILL NOT GIVE AN ERROR MESSAGE, BUT IT WILL NOT SAVE
YOUR WORK EITHER. WHY SHOULD YOU NEED TO SAVE TO ANOTHER NAME, SINCE THE
DOCUMENT DOESN'T HAVE ANY NAME AT ALL? AND HOW WOULD YOU KNOW TO DO THIS
(TOOK ME A WHILE TO FIGURE THIS OUT)? FINALLY, USING THIS METHOD LEADS TO
A SERIES OF ADDITIONAL INCONVENIENCES. THIS QUIRK IS NOT A MAJOR PROBLEM,
AND YOU CAN AVOID IT BY ALWAYS NAMING A NEW FILE BEFORE USING IT. COMTEL
SAYS THE PROGRAM WAS DESIGNED THIS WAY INTENTIONALLY, BUT THEY AGREE THAT
NAMING THE FILE FIRST IS PROBABLY A BETTER GENERAL METHOD. I EXPECT A
REVISION SOON.
INSTANT EDITOR EMULATES SIDEKICK (AND WORDSTAR) IN MOST AREAS, BUT SOME
FUNCTIONS ARE A BIT CLUNKY. THE MOST VALUABLE SIDEKICK FEATURE THAT IE
DOES NOT YET INCLUDE IS CUT AND PASTE. IE DOES NOT HAVE ANY WAY TO CAPTURE
SOMETHING FROM THE SCREEN AND PULL IT INTO A TEXT FILE. NOR DOES IE
PERFORM SIDEKICK'S TRICK OF FEEDING A BLOCK OF TEXT OUT TO ANOTHER PROGRAM
AS IF IT WAS BEING TYPED FROM THE KEYBOARD. AND IE DOES NOT INCLUDE THE
DIALER/MODEM FUNCTIONS OF SIDEKICK. OTHERWISE, IE IS FAR SUPERIOR, AND IS
LIKELY TO REPLACE SIDEKICK AS A PROGRAMMER'S MEMORY RESIDENT EDITOR. BUT A
PROGRAMMER MAY STILL SWITCH TO SIDEKICK IN SITUATIONS WHERE IE'S LARGER RAM
REQUIREMENTS ARE UNDESIRABLE; THAT'S WHEN THE FEW DIFFERENCES BETWEEN THEM
BECOME DISCONCERTING.
IN SIDEKICK YOU CAN CTRL-Y ALL DAY LONG AND SIDEKICK WILL PERFORM AS
EXPECTED. IN SIDEKICK CTRL-Y DELETES THE LINE YOU ARE ON, THEN MOVES UP
THE FOLLOWING LINES. A SERIES OF CTRL-YS WILL DELETE THE CURRENT LINE AND
THOSE THAT FOLLOW, BUT WHEN YOU RUN OUT OF LINES AT OR BELOW THE CURSOR,
NOTHING MORE WILL BE DELETED. INSTANT EDITOR, HOWEVER, WILL THEN BACK UP
TO THE LINE BEFORE THE CURSOR, DELETE THAT LINE, BACK UP AGAIN, ETC. IN
OTHER WORDS, WHEN CTRL-Y IS TYPED WHERE THERE ARE NO MORE LINES FOLLOWING
THE CURSOR, IE WILL JUMP TO THE PRECEDING LINE, WHERE ANOTHER CTRL-Y WILL
DELETE THAT LINE, JUMP TO THE PRECEDING LINE, ETC. THIS IS AN EASY WAY TO
WIPE OUT MORE THAN YOU DESIRED, SO BE CAREFUL. THIS IS NOT A FLAW, JUST A
DIFFERENCE; IT COULD BE ARGUED THAT SIDEKICK'S CONVENTIONS ARE THE
LESS-DESIRABLE. FORTUNATELY, IE'S ALT-U CAN UNDELETE AS MANY LINES AS YOU
WISH.
IN GENERAL, INSTANT EDITOR WORKS FLAWLESSLY. I FOUND TWO MINOR BUGS WHICH
COMTEL IS FIXING IMMEDIATELY. OCCASIONALLY WHEN USING CTRL-N TO PUSH DOWN
THE CURRENT LINE AND INSERT A NEW LINE, THE LAST CHARACTER OR TWO OF THE
CURRENT LINE WOULD BE LEFT BEHIND. COMTEL SAYS ITS A QUIRK IN TURBO PASCAL
THAT CAN BE WORKED AROUND. WHEN BLOCKING AN ENTIRE LINE FOR COPYING OR
MOVING BY PLACING THE FIRST MARK A THE HEAD OF THE LINE AND THE NEXT MARK
AT THE HEAD OF THE FOLLOWING LINE, IE WILL SOMETIMES ERRONEOUSLY INCLUDE
THE FIRST CHARACTER OF THE FOLLOWING LINE, EVEN THOUGH IT IS NOT SHOWN AS
BLOCKED. THIS TOO IS BEING FIXED IMMEDIATELY. ONE DAY I HAD IE LOCK UP ON
ME A FEW TIMES, BUT THAT COULD HAVE BEEN DUE TO A PARTICULAR COMBINATION OF
RESIDENT SOFTWARE, A HARDWARE GLITCH OR WHO KNOWS WHAT. COMTEL DOES ADVISE
THAT INSTANT EDITOR MAY CLASH WITH CERTAIN PROGRAMS LIKE FRAMEWORK WHICH
TAKE OVER INTERRUPT 9 IN A SUPPOSEDLY STRANGE WAY.
G11043 UNIT LISTING. 86/12/31. 86/11/07. 86/11/07. 11.07 PM
CLIPPER UPGRADE
COMTEL
DB TOOLS
DBASE III
FROM-HAYCA.MOURA.B
GROUP-PTI.MICROLINK
INSTANT EDITOR
LASER PRINTERS
PROGRAMMERS TOOLS
SAVE Y
SUBJ OCTOBER HAWK'S RAM PART 3
HAWK'S RAM -- OCTOBER, 1986
PART 3
ANOTHER AREA COMTEL IS IMPROVING IS IE'S RESPONSE WHEN ITS TEXT BUFFER GETS
ALMOST FULL AND IT NEEDS TO ISSUE A WARNING. A NICE FEATURE IS THAT WHEN
YOU RELEASE A WINDOW, A GARBAGE COLLECTION ROUTINE RECLAIMS THE BUFFER SPACE
FOR USE BY ANOTHER WINDOW/DOCUMENT. MANY PACKAGES CAN EXPAND ON DEMAND BUT
WON'T SHRINK THEMSELVES UNTIL YOU EXIT AND RELOAD. THAT TIES UP VALUABLE
RAM FOR NO PURPOSE, A LIMITATION IE GETS AROUND VERY NICELY.
INSTANT EDITOR CAN TAKE A SIGNIFICANT CHUNK OF RAM (220K AS SUPPLIED, WITH
128K USED AS THE DOCUMENT WORKSPACE; THIS IS CHANGEABLE BY THE USER).
THAT'S UNAVOIDABLE, CONSIDERING WHAT IT DOES, AND IE CAN EASILY BE REMOVED
FROM RAM VIA ITS POP-UP MENU SYSTEM. WHEN DEVELOPING LARGE CLIPPER
APPLICATIONS I HAVE TO ALWAYS REMEMBER TO REMOVE MY LARGE BUFFER VERSION OF
IE FROM MEMORY BEFORE RUNNING THE NEW PROGRAM. OTHERWISE THEY APPARENTLY
COLLIDE AND LOCK UP THE MACHINE, WHILE RANDOM GRAPHICS CHARACTERS SLOWLY
SPRINKLE THE SCREEN. I WOULD EXPECT (AND PREFER) AN ERROR MESSAGE RATHER
THAN A FREEZE. COMTEL BELIEVES DOS SHOULD PROTECT IE FROM SUCH PROBLEMS.
PROBABLY THE CULPRIT IS CLIPPER (WINTER 85), WHICH SHOULD ISSUE AN
INSUFFICIENT MEMORY MESSAGE RATHER THAN JUST CRASH AND BURN. IF I NEED TO
HAVE IE AVAILABLE FROM WITHIN A LARGE CLIPPER APPLICATION, I LOAD A SPECIAL
VERSION OF IE CREATED WITH A SMALLER 64K BUFFER. THIS IS NOT REALLY A
LIMITATION, SINCE EVEN A 64K BUFFER IS VERY LARGE BY SIDEKICK STANDARDS.
SIDEKICK DEFAULTS TO ONLY A 4K BUFFER, AND CAN BE SET TO A MAXIMUM SIZE OF
ONLY 50K. INSTANT EDITOR'S BUFFER CAN RANGE FROM 32K TO JUST ABOUT AS LARGE
AS YOU NEED AND YOUR SYSTEM CAN TOLERATE, BUT IT CAN'T USE EXPANDED MEMORY.
THE FILES CREATED BY INSTANT EDITOR SEEM TO BE PURE ASCII. SINCE
INTERPRETERS OR COMPILERS CANNOT BE EXPECTED TO FILTER EXTRANEOUS GARBAGE
OUT OF SOURCE CODE, USING A "CLEAN" EDITOR IS IMPORTANT. WORDSTAR, EVEN IN
NON-DOCUMENT MODE, CAN STILL LEAVE CONTROL CODES IN THE FILE (PUSH THE TAB
KEY A FEW TIMES IN WORDSTAR, THEN CHECK THE SAME DOCUMENT WITH SIDEKICK OR
INSTANT EDITOR). IF YOU WRITE PROGRAMS IN DBASE, CLIPPER, PASCAL OR C,
INSTANT EDITOR CAN REALLY BE A TIME-SAVER. THE PROBLEMS I'VE EXPERIENCED
ARE TRIVIAL AND WILL PROBABLY BE ELIMINATED BY THE TIME YOU READ THIS.
COMTEL -- A COMPANY TO WATCH
NEEDLESS TO SAY, I AM SATISFIED AND IMPRESSED. THE VARIOUS COMTEL PROGRAMS
AND UTILITIES HAVE IMMEDIATELY BECOME AMONG MY MOST USED DEVELOPMENT TOOLS.
IT'S A PLEASURE TO WORK WITH A SMALL COMPANY WHERE USER SATISFACTION IS THE
NUMBER ONE CONCERN. THE GENIUS BEHIND COMTEL, BILL HO, IS RESPONSIVE TO
SUGGESTIONS AND IS WILLING TO UPGRADE HIS PROGRAMS OFTEN. BUG FIXES ARE
FREE. UPDATES TO ADD ENHANCEMENTS LIKE THE FORMATTING IMPROVEMENTS I'VE
MENTIONED ARE GENERALLY JUST $5. WHEN MAJOR UPGRADES ARE RELEASED YOU CAN
USUALLY TRADE UP, INCLUDING NEW DOCUMENTATION, FOR THE DIFFERENCE IN PRICE.
THAT'S MORE THAN FAIR. MANUALS ARE LASER PRINTED, ATTRACTIVE AND WELL
WRITTEN. FOR THE MONEY, I DON'T KNOW OF ANY MORE VALUABLE TOOLS. DBTOOLS,
DBSCOPE AND INSTANT EDITOR ALL SELL FOR ONLY $69, AND CLMAKE IS A TINY $15.
A STEAL! COMTEL, SUITE 110, 2156 EAST COLORADO BOULEVARD, PASADENA,
CALIFORNIA 91107, (818) 304-0312.
LASER PRINTERS
AS I WRITE THIS I AM PREPARING TO PUT MY NEW LASER-PRINTER BASED DESKTOP
PUBLISHING SYSTEM ON-LINE. BECAUSE I HAVE EXPERIENCE IN THIS FIELD USING
PRE-COMPUTER TECHNOLOGIES, MY SELECTION PROCESS INVOLVED ASKING A LOT OF
HARD QUESTIONS ALONG THE WAY. THE ANSWERS I RECEIVED LEAD TO ONE STRONG
RECOMMENDATION: BE CAREFUL! HARDLY ANYONE KNOWS WHAT THEY ARE TALKING
ABOUT, AND UNSUBSTANTIATED CLAIMS SEEM TO THE ORDER OF THE DAY.
IF YOU ANTICIPATE DOING ANYTHING COMPLEX, PICK YOUR HARDWARE WITH GREAT
CARE. NOT ALL CANON ENGINE-BASED LASER PRINTERS ARE CREATED EQUAL. SOME
CAN ACCEPT SOFTWARE GENERATED DOWN-LOADABLE FONTS; OTHERS CANNOT. SOME CAN
HANDLE FONTS UP TO 30 POINTS HIGH; OTHERS CAN'T HANDLE HALF THAT SIZE.
UNLESS YOU INSTALL A TALL TREE J-LASER BOARD AND BYPASS THE PRINTER'S
ELECTRONICS, THE DIFFERENCES ARE MORE SIGNIFICANT THAN THE COMMON CANON
ENGINE. THE SO-CALLED SECOND GENERATION PRINTERS THAT USE ENGINES FROM
RICOH, TOSHIBA, KYOCERA, HITACHI, KONICA AND NEC OFFER ENHANCEMENTS, BUT
THEY ARE ALL NEW AND SOMEWHAT UNPROVEN MACHINES. THE KYOCERA F1010 IS
EXCITING, BUT THE COMPANY IS WAY OFF MARK IN HOW THEY ARE APPROACHING THE
MARKET; I'LL LET YOU KNOW MORE ABOUT IT NEXT MONTH.
THE BIGGEST PROBLEM WITH ALL LASER PRINTERS IS SOFTWARE SUPPORT. TO AT
LEAST GIVE YOU SOME OUTPUT, ALMOST EVERY LASER PRINTER EMULATES THE EPSON
FX-80. BUT UNLESS YOU WANT A BIG, EXPENSIVE, BUT QUIETER EPSON FX-80, SO
WHAT! IF THE EXCITING NEW CAPABILITIES OF TYPESETTING, GRAPHICS AND DESKTOP
PUBLISHING ARE ON YOUR HORIZON, FIND OUT EXACTLY WHICH PRINTERS THE SOFTWARE
WORKS WITH BEFORE BUYING HARDWARE. AND BE VERY CAREFUL OF OPTIMIZED
DEMONSTRATIONS. EVERY LASER PRINTER PUTS OUT VERY NICE PRINTING. THE
QUESTION IS, WHAT DOES IT TAKE TO GET THE MACHINE TO PRINT WHAT YOU NEED?
CLIPPER UPGRADE
BUSINESS PEOPLE -- READ THIS. EVEN IF YOU ARE NOT A CLIPPER USER/
PROGRAMMER, YOU SHOULD KNOW THAT THE RELEASE OF THE AUTUMN 86 VERSION OF THE
CLIPPER COMPILER IS EXCITING NEWS FOR BUSINESS COMPUTER USERS. WHY? BECAUSE
IT CAN SAVE YOU TIME AND MONEY. NOW YOUR BUSINESS CAN USE DBASE
OFF-THE-SHELF, CUSTOMIZED OR SPECIALLY WRITTEN SOFTWARE ON A LOCAL AREA
NETWORK AT INCREDIBLE SAVINGS. TO RUN DBASE SOFTWARE ON A LAN REQUIRES THE
PURCHASE OF DBASE III PLUS ($700 RETAIL), PLUS A DBASE LANPACK FOR EACH
WORKSTATION ($250 EACH IN SETS OF 4 ONLY). THAT'S $1,700 MINIMUM, NOT
INCLUDING THE APPLICATIONS SOFTWARE ITSELF, NOR NETWORK HARDWARE, OPERATING
SYSTEM AND WORKSTATIONS. WITH CLIPPER YOU DON'T NEED DBASE NOR ITS
LANPACKS. NOR DO YOU NEED TO EQUIP YOUR WORKSTATIONS WITH THE EXTRA-EXPENSE
DISK DRIVES WHICH DBASE REQUIRES JUST TO BOOT UP. AN APPLICATION COMPILED
UNDER CLIPPER PERMITS AN UNLIMITED NUMBER OF USERS ON THE NETWORK, WITH NO
ADDED COSTS BEYOND THE ORIGINAL APPLICATION. THAT'S RIGHT: BUY IT ONCE AND
USE IT AS YOU WISH.
NOTICE THAT I AM TALKING ABOUT THE APPLICATION ITSELF, NOT CLIPPER. YOU
DON'T NEED CLIPPER (WHICH COSTS $700, MORE IF YOU COLLECT THE VARIOUS
ADD-ONS THAT WORK WITH IT). YOU DON'T NEED TO UNDERSTAND CLIPPER. AND YOU
PROBABLY DON'T WANT TO HAVE TO DEAL WITH THE PRIMA DONNAS AS NANTUCKET. ALL
YOU NEED IS AN AWARENESS OF THE VALUE OF SELECTING BUSINESS SOFTWARE THAT
HAS BEEN COMPILED UNDER CLIPPER AUTUMN 86. YOU CAN ALSO HAVE YOUR PRESENT
DBASE APPLI8CATIONS RUN THROUGH CLIPPER BY A KNOWLEDGABLE CONSULTANT.
CONSIDER BUSINESS SOFTWARE FOR ACCOUNTING8, ORDER ENTRY, SALES MANAGEMENT,
INVENTORY CONTROL, MAILING LISTS, ETC. SAY YOU SPEND $1,000 FOR AN
APPLICATION. 8TO RUN IT UNDER DBASE III PLUS, ADD $1,700 OF NON-PRODUCTIVE
INVESTMENT. WHY DO THAT WHEN YOU CAN BUY YOUR SOFTWARE FROM SOMEONE WHO
WILL SUPPLY IT COMPILED UNDER CLIPPER AUTUMN 86, SO YOU CAN INVEST THAT
$1,700 BENEFICIALLY?
ASIDE FROM THE SUBSTANTIAL DOLLARS YOU CAN SAVE BY SPECIFYING CLIPPER-
COMPILED APPLICATIONS, YOU WILL ALSO SAVE TIME AND DISK SPACE. CLIPPER
INCLUDES A RICH LIBRARY OF POWERFUL ROUTINES WHICH A SKILLED PROGRAMMER C8AN
USE TO MAKE PROGRAMS SMALLER YET FASTER AND MORE POWERFUL.8 YOU AND YOUR
USERS WON'T HAVE TO WAIT FOR THE PROGRAM TO CATCH UP TO YOU, YOU'LL GET MORE
DONE, AND YOU'LL WASTE LESS DISK SPACE TOO. BE AWARE THAT TO GET THE FULL
BENEFIT OF CLIPPER'S ADVANCED FEATURES THE PROGRAM MUST BE OPTIMIZED TO USE
THEM; JUST RUNNING DBASE SOURCE CODE THROUGH CLIPPER DOES NOT TAP INTO ALL
THE GOODIES. LET ME REPEAT A WARNING FROM A PREVIOUS COLUMN: CLIPPER IS NOT
FOR THE FAINT-OF-HEART. UNLESS YOU ARE A PROFESSIONAL, OR NEED A HOBBY,
DON'T MESS WITH CLIPPER. BUT DO DEMAND THAT YOUR BUSINESS MANAGEMENT
SOFTWARE USE CLIPPER, AUTUMN 86, INCLUDING THE ADVANCED CAPABILITIES.
ASHTON-TATE DOESN'T NEED YOUR MONEY; YOU DO.
TIME ELAPSES BETWEEN WHEN I WRITE THIS AND YOU READ IT, SO PLEASE CALL IF
YOU WANT AN EXPERIENCE UPDATE BEFORE SPENDING GOOD MONEY.
"HAWK'S RAM" COPYRIGHT (C) 1986 BY JOHN L. HAWKINS.
HAWKINS/BANFIELD MANAGEMENT SYSTEMS, P.O. BOX 6476, SAN RAFAEL, CA 94903.
415/492-8757 OR 415/525-6624. NON-COMMERCIAL PUBLICATION AUTHORIZED WITH
CREDIT; COMMERCIAL RIGHTS RESERVED.